
#include <cmath>
#include <iostream>
using namespace std;
int main()
{   
    setlocale(LC_ALL, "Russian");
    string kos = "Цифра в разряде ",kos2=" является квадратом цифры: ";
    cout << "Введите четырёхзначное число" << endl;
    int chi=0; cin >> chi;
    int sqr = sqrt(chi),min=10,max=-1,zeroes=0;
    int st = chi / 1000, nd = chi / 100 % 10, rd = chi / 10 % 10, fth = chi % 10;
    int sqed = sqrt(st), sqnd = sqrt(nd), sqrd = sqrt(rd), sqfth = sqrt(fth);
    if (chi <= 999 || chi >= 10000) {
        cout << "Введённое число не является четырёхзначным"<<endl;
    }
    else {
        cout << "Число чётное: ";
        switch (chi % 2) {
        case 0:
            cout << "Да" << endl;
            break;
        case 1:
            cout << "Нет" << endl;
        }
        cout << "Число кратно трём: ";
        switch (chi % 3) {
            case 0:
                cout << "Да" << endl;
                break;
            case !0:
                cout << "Нет" << endl;
        }
        cout << "Число является квадратом числа: ";
        if (sqrt(chi) == sqr) 
            cout << "Да"<<endl<<endl;
        
        else
            cout << "Нет"<<endl<<endl;
        cout << "Наименьшая цифра числа: ";
        
        if (st < min) {
            min = st;
        }
        if (nd < min) {
            min = nd;
        }
        if (rd < min) {
            min = rd;
        }
        if (fth < min) {
            min = fth;
        }
        cout << min<<endl;
        cout << "Наибольшая цифра числа: ";
        if (st > max)
            max = st;
        if (nd > max)
            max = nd;
        if (rd > max)
            max = rd;
        if (fth > max)
            max = fth;
        cout << max<<endl;
        cout << "Количество нулей в числе: ";
        if (st == 0)
            zeroes++;
        if (nd == 0)
            zeroes++;
        if (rd == 0)
            zeroes++;
        if (fth == 0)
            zeroes++;
        cout << zeroes << endl<<endl;
        cout << kos << "единиц" << kos2;
        if (sqrt(fth) == sqfth)
            cout << sqfth<<endl;//единицы
        else
        {
            cout << "Нет" << endl;
        }
        cout << kos << "десятков" << kos2;
        if (sqrt(rd) == sqrd)
            cout << sqrd << endl;//десятки
        else {
            cout << "Нет" << endl;
        }
        cout << kos << "сотни" << kos2;
        if (sqrt(nd) == sqnd)
            cout << sqnd << endl;//сотни
        else {
            cout << "Нет" << endl;
        }
        cout << kos << "тысяч" << kos2;
        if (sqrt(st) == sqed)
            cout << sqed << endl;//тысяч
        else {
            cout << "Нет";
        }
    }
}


